1.概述 | 2.我的第一个项目 | 3.模型 | 4.视图 | 5.列表数据 | 6.对象/关系映射 | 7.控制器 | 8.应用 | 9. 定制

第1章: 概述

介绍

OpenXava 是一个用来快速简洁开发JavaEE/J2EE应用的框架。
OpenXava的根本哲理是用Java annotations或XML来定义,用Java来编码;定义越多编码越少就越好。
OpenXava的主要目的是简化业务应用系统开发中的典型工作,同时仍然保持必要的灵活性让开发人员根据需要开发高级特性。
下面是OpenXava中的基本概念。

业务组件(Business component)

业务组件(Business component)是创建OpenXava应用系统的基础部件。在OpenXava中,业务组件是一个java类(当然也有一个XML 版本),包含了创建业务系统涉及的业务概念的所有信息。例如,订单(invoice )的所有信息就包含在文件Invoice.java中. 在业务组件中,你可以定义:
  • 数据结构。
  • 校验, 计算 以及业务概念的所有相关逻辑。
  • 可能的视图, 也就是,本组件的所有可能的用户界面的配置。
  • 数据列表展示的可能性. 列表数据用在列表模式(list mode)(数据浏览), 报表,导出到excel等。
  • 对象-关系映射, 包含数据表以及如何将数据表转化到Java应用程序中的对象。
这种划分方式有利于团队协作,也有利于开发出可以用在不同项目上的通用业务组件。

控制器(Controllers)

业务系统中并不定义用户在应用系统中能完成的工作,这些消息定义在控制器(controllers)中。控制器定义在项目的xava/controllers.xml 中; OpenXava中有一套事先定义好的controllers 放在OpenXava/xava/default-controllers.xml中.
控制器包含一系列动作. 动作是用户能够点击的按钮或者链接。
控制器与业务组件分开,这是应为一个控制器可以指定到多个业务组件上。例如, 具有执行CRUD 操作, 生成PDF报表或导出到纯文本等躬耕的控制器, 可以反复用在订单( invoices,)客户( customers),供应商( suppliers)等业务组件上.

应用(Application)

一个 OpenXava应用由许多模块( module)组成. 模块将业务组件同多个控制器组合到一起。
应用程序中的模块是最终用户所使用的东西,一般在portal中配置为一个portlet。

项目结构

典型的OpenXava项目通常包含下列文件夹:
  • [root]: 包含build.xml (定义了Ant task).
  • src[source folder]: 包含了java源代码.
  • xava: 配置OpenXava 应用的XML 文件. 主要有application.xmlcontrollers.xml.
  • i18n: 包含多种语言标签和消息的资源文件.
  • properties[source folder]: 配置应用的属性文件.
  • data: 包含创建应用系统所用数据表的脚本( 如果确实需要的话).
  • web: Web 内容. 通常是JSP 文件, lib and classes. 绝大多数内容都能自动生成, 但你可以将自己的JSP和其他定制的web内容放在其中.